Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- DEEP COPY



  Will nil == nil be true in GoLang

There is some interview question may ask whether nil == nil be true in GoLang. Wil it be true. false or compilation error? To know the answer, some knowledge about nil in GoLang needs to be explained first. nil definition According to Go's official documentation, the definition of nil is // nil is a predeclared identifier representing the zero value for a // pointer, channel, func, interface, map, or slice type. var nil Type // Type must be a pointer, channel, func, interface, map, or slice type...

   GOLANG,NIL,NIL EXPLANATION     2021-08-08 02:54:15

  Get the 48×48 or 256×256 icon of a file on Windows

Getting the 16×16 and 32×32 icons on Windows is relatively easy and is often as simple as one call to ExtractIconEx. However, getting the extra large (48×48) and jumbo (256×256) icons introduced respectively by XP and Vista is slighly more complex. This is normally done by: Getting the file information, in particular the icon index, for the given file using SHGetFileInfoRetrieving the system image list where all the icons are storedCasting the image list to an IImageList interf...

   File icon,File extension,Association,Large icon,Windows     2012-03-23 09:35:17

  How does Class box get 1 million users with only 4 people?

"Class box" is an app which helps students create course plan developed by 4 Chinese. This app was created in 2012. They get over 1 million users with only 4 people. How do they make this? The co-founder of "Class box" Tianfang Li explains this on Zhihu. Here is what he said: About millions of users, in the mobile Internet era what we need to do is just find a good entry point, rapid iteration and with a little luck, a small team or even an independent developer can make millions user level prod...

   class box,team size,sillicon valley     2013-04-03 08:08:21

  Understand GoLang WaitGroup internals and how it works

Background Before getting into the main content, let me give a brief introduction to WaitGroup and its related background knowledge. Here, the focus is on the basic usage of WaitGroup and the fundamental knowledge of system semaphores. For those who are familiar with these, you can skip this section directly. WaitGroup WaitGroup is one of the most common concurrency control techniques in Golang, and its function can be roughly compared to the join() in concurrency control of other languages' mul...

   GOLANG,WAITGROUP,SOURCE CODE     2023-04-26 08:02:01

  Mac shortcut key cheatsheet

More and more people are using Mac computers or switch from Windows or other OS to MacOS, there are lots of shortcut keys which can help improve the work efficiency or ease operations. This post will try to list some commonly used shortcut keys in Mac. But before that, let's first know some common keys on a Mac computer keyboard. There are four major function keys: Command, Control, Option and Shift. Most of the shortcut keys will combine the functional key and other key. Basic Command key is t...

   SHORTCUT,SCREENSHOT,COMMAND,SHORTCUT KEY,MACOS     2019-02-05 07:13:06

  10 Reasons Why Visual Basic is Better Than C#

Visual Basic is a better programming language than Visual C#. Who says so? This article! Here are 10 reasons why you should always choose VB over C#. 1 – “Rose is a rose is a rose is a rose” This is a quotation from Gertrude Stein’s 1922 play Geography and Plays. However, the poetry wouldn’t work in C#, because – unforgivably – it’s a cASe-SeNSitIvE language. This is madness! Before I start ranting, let me just acknowledge that case-sens...

   Visual basci,C#,Advantage,Comparison     2012-03-10 04:24:03

  Install and remote access phpMyAdmin on CentOS

phpMyAdmin is a free and open source tool written in PHP intended to handle the administration of MySQL with the use of a Web browser. It can perform various tasks such as creating, modifying or deleting databases, tables, fields or rows; executing SQL statements; or managing users and permissions.Today I walk through you the steps to install phpMyAdmin on CentOS. Actually, these steps are applicable to other Linux systems as well. 1. Download the phpMyAdmin from Sourceforge.net. Run command:wge...

   phpMyAdmin,linux,installation,demo     2012-06-21 07:30:29

  Learning Ruby and Ruby vs Lisp

The company I work for has a lot of legacy Ruby code, and as Ruby has become kind of a mainstream language, I decided to get a book about it and learn how it works. As my learning resource, I chose The Ruby Programming language by David Flanagan and Yukihiro Matsumoto as that receives great customer reviews, covers Ruby 1.8.7 and 1.9 and is authoritative because the language creator is one of the authors. The book makes a good read in general. There are plen...

   Ruby,Feature,Functional,OOP,Lisp,Difference     2011-12-12 07:42:01

  Why should we drop or reduce use of MD5?

MD5 is a frequently used one-way hash algorithm, it is commonly used in following situations: Check data integrity. We take hash of the data stored in two different places and compare them. If the hash results are the same, then there is no need to check the actual data. This utilizes the collision-resistant feature. Two different data block will have little chance that their hash values will be the same. Many data service providers use such technique to check repeated data to avoild repeating...

   MD5,Vulnerability,attack     2012-09-29 04:47:49

  Javascript Frameworks Are Too Small

A while back I stumbled upon a great post by Jean-Baptiste Queru. It describes the incredible depth of the modern technology stack. Layers upon layers of complex science, hardware, and software, each layer creating a simpler abstraction around the previous. This ultimately enables our paltry human brains to create amazing things that would otherwise be impossible (or really difficult). This is, in my opinion, the lifeblood of modern software development. For some reason, however, when i...

   JavaScript,Framework,Size,Small,jQuery     2012-01-10 07:20:59